//# sourceURL=http://uMapApp/Module/Bridge/BridgeWeatherDetectionNodeBlock
define([
    "mhjs/mhjs"
    , "../../UI/Panel/PanelBlock/PanelBlock"
], function (
    mhjs,
    PanelBlock
) {

    function BridgeWeatherDetectionNodeBlock(option) {

        var _this = this;
        _this.isOpened = false;

        PanelBlock.call(_this, option);
        _this.addClass("BridgeWeatherDetectionNodeBlock propertiesBlock");

        _this
            .append(_this.renderButton())
            .append(_this.renderAlarmButton())
        ;

    }

    var _class = BridgeWeatherDetectionNodeBlock;
    mhjs.Inherit(_class, PanelBlock);


    Object.defineProperties(_class.prototype, {
        "properties"          : {
            set: function (properties) {
                var _this = this;
                _this._properties = properties;

                _this.ui.wrap.empty();

                // _this.title = properties.title;
                _this.title = "桥面气象实时监测数据";

                // {
                //     "bridgeMeteId": "5b5d635c2af981946f9d02691780c879",
                //     "data": {
                //     "路面温度": {
                //         "value": "2.4",
                //             "unit": "℃"
                //     },
                //     "路面积水厚度": {
                //         "value": "0",
                //             "unit": "mm"
                //     },
                //     "路面覆冰厚度": {
                //         "value": "0",
                //             "unit": "mm"
                //     },
                //     "路面积雪厚度": {
                //         "value": "0",
                //             "unit": "mm"
                //     },
                //     "路面湿滑程度": {
                //         "value": "0",
                //             "unit": ""
                //     },
                //     "电量": {
                //         "value": "67",
                //             "unit": "%"
                //     }
                // }

                _this.ui.wrap
                    .append(_this.renderPropertiesItem("桥面温度", _this.properties.propertiesData.data["温度"]))
                    .append(_this.renderPropertiesItem("积水厚度", _this.properties.propertiesData.data["积水厚度"]))
                    .append(_this.renderPropertiesItem("覆冰厚度", _this.properties.propertiesData.data["覆冰厚度"]))
                    .append(_this.renderPropertiesItem("积雪厚度", _this.properties.propertiesData.data["积雪厚度"]))
                    .append(_this.renderPropertiesItem("湿滑程度", _this.properties.propertiesData.data["湿滑程度"]))
                    .append(_this.renderPropertiesItem("剩余电量", _this.properties.propertiesData.data["电量"]))
                ;

            },
            get: function () {
                return this._properties;
            }
        },
        "renderButton"        : {
            value: function () {
                var _this = this;

                var button = new mhjs.Div({"class": "button"});
                button.text("历史数据");

                button.on("click", function () {
                    _this.properties.trigger("propertiesButtonClick");
                });

                return button;

            }
        },
        "renderAlarmButton"   : {
            value: function () {
                var _this = this;

                var button = new mhjs.Div({"class": "button"});
                button.text("告警数据");

                button.on("click", function () {
                    _this.properties.trigger("alarmButtonClick");
                });

                return button;

            }
        },
        "renderPropertiesItem": {
            value: function (label, data) {

                //     "电量": {
                //         "value": "67",
                //             "unit": "%"
                //     }

                var item = new mhjs.Div({"class": "item properties"});
                item.label = new mhjs.Div({"class": "label"});
                item.label.text(label);
                item.valuetext = new mhjs.Div({"class": "value"});
                item.valuetext.text(data.value);
                item.unittext = new mhjs.Div({"class": "unit"});
                item.unittext.text(data.unit);

                if (data.alarm) {
                    item.addClass("alarm");
                }

                item
                    .append(item.label)
                    .append(item.valuetext)
                    .append(item.unittext)
                ;
                return item;
            }
        },
        "map"                 : {
            set: function (map) {
                var _this = this;
                _this._map = new mhjs.Map(map);
            },
            get: function () {
                return this._map;
            }
        }
    });

    return _class;

});